MongoDB安装记录和错误解决

我使用的是RedHat 9.4 安装Mongodb

1
2
[root@sea-whales ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.4 (Plow)

1. MongoDB安装

Mongodb有以下几种安装方式:

  1. 使用yum安装
  2. 手动下载并安装
  3. 使用docker安装

1.1 使用yum安装

一般情况推荐YUM安装,因为它可以确保您安装的是官方支持的最新版本,并且方便进行后续的更新和维护。

添加MongoDB官方YUM仓库

首先,需要创建一个新的YUM仓库配置文件,例如/etc/yum.repos.d/mongodb-org-7.0.repo(注意版本号可能根据MongoDB的最新版本而变化)。
在该文件中,添加MongoDB的官方仓库信息,包括仓库名称、基础URL、GPG密钥等。
我使用的是mongodb-org-7.0,所以我的配置文件如下:

1
2
3
4
5
6
7
[root@sea-whales ~]# cat /etc/yum.repos.d/mongodb-org-7.0.repo
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc

注:可以将上面的版本号替换为希望安装的MongoDB版本号

  1. 安装依赖包
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    [root@sea-whales ~]# yum install -y mongodb-org
    [root@sea-whales ~]# sudo yum install -y mongodb-org
    正在更新 Subscription Management 软件仓库。
    上次元数据过期检查:4:10:05 前,执行于 2024年07月14日 星期日 07时04分06秒。
    依赖关系解决。
    =================================================================================================================================================================================================================
    软件包 架构 版本 仓库 大小
    =================================================================================================================================================================================================================
    安装:
    mongodb-org x86_64 7.0.12-1.el9 mongodb-org-7.0 9.3 k
    安装依赖关系:
    mongodb-database-tools x86_64 100.9.5-1 mongodb-org-7.0 28 M
    mongodb-mongosh x86_64 2.2.12-1.el8 mongodb-org-7.0 56 M
    mongodb-org-database x86_64 7.0.12-1.el9 mongodb-org-7.0 9.4 k
    mongodb-org-database-tools-extra x86_64 7.0.12-1.el9 mongodb-org-7.0 14 k
    mongodb-org-mongos x86_64 7.0.12-1.el9 mongodb-org-7.0 24 M
    mongodb-org-server x86_64 7.0.12-1.el9 mongodb-org-7.0 35 M
    mongodb-org-tools x86_64 7.0.12-1.el9 mongodb-org-7.0 9.3 k

    事务概要
    =================================================================================================================================================================================================================
    安装 8 软件包

    总下载:143 M
    安装大小:642 M
    下载软件包:
    (1/8): mongodb-org-7.0.12-1.el9.x86_64.rpm 15 kB/s | 9.3 kB 00:00
    (2/8): mongodb-org-database-7.0.12-1.el9.x86_64.rpm 12 kB/s | 9.4 kB 00:00
    (3/8): mongodb-database-tools-100.9.5-1.x86_64.rpm 12 MB/s | 28 MB 00:02
    (4/8): mongodb-org-database-tools-extra-7.0.12-1.el9.x86_64.rpm 14 kB/s | 14 kB 00:01
    (5/8): mongodb-mongosh-2.2.12.x86_64.rpm 14 MB/s | 56 MB 00:03
    (6/8): mongodb-org-tools-7.0.12-1.el9.x86_64.rpm 21 kB/s | 9.3 kB 00:00
    (7/8): mongodb-org-server-7.0.12-1.el9.x86_64.rpm 12 MB/s | 35 MB 00:02
    (8/8): mongodb-org-mongos-7.0.12-1.el9.x86_64.rpm 6.6 MB/s | 24 MB 00:03
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    总计 23 MB/s | 143 MB 00:06
    运行事务检查
    事务检查成功。
    运行事务测试
    事务测试成功。
    运行事务
    准备中 : 1/1
    安装 : mongodb-org-database-tools-extra-7.0.12-1.el9.x86_64 1/8
    运行脚本: mongodb-org-server-7.0.12-1.el9.x86_64 2/8
    安装 : mongodb-org-server-7.0.12-1.el9.x86_64 2/8
    运行脚本: mongodb-org-server-7.0.12-1.el9.x86_64 2/8
    Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /usr/lib/systemd/system/mongod.service.

    安装 : mongodb-org-mongos-7.0.12-1.el9.x86_64 3/8
    安装 : mongodb-org-database-7.0.12-1.el9.x86_64 4/8
    安装 : mongodb-mongosh-2.2.12-1.el8.x86_64 5/8
    运行脚本: mongodb-database-tools-100.9.5-1.x86_64 6/8
    安装 : mongodb-database-tools-100.9.5-1.x86_64 6/8
    运行脚本: mongodb-database-tools-100.9.5-1.x86_64 6/8
    安装 : mongodb-org-tools-7.0.12-1.el9.x86_64 7/8
    安装 : mongodb-org-7.0.12-1.el9.x86_64 8/8
    运行脚本: mongodb-org-7.0.12-1.el9.x86_64 8/8
    验证 : mongodb-database-tools-100.9.5-1.x86_64 1/8
    验证 : mongodb-mongosh-2.2.12-1.el8.x86_64 2/8
    验证 : mongodb-org-7.0.12-1.el9.x86_64 3/8
    验证 : mongodb-org-database-7.0.12-1.el9.x86_64 4/8
    验证 : mongodb-org-database-tools-extra-7.0.12-1.el9.x86_64 5/8
    验证 : mongodb-org-mongos-7.0.12-1.el9.x86_64 6/8
    验证 : mongodb-org-server-7.0.12-1.el9.x86_64 7/8
    验证 : mongodb-org-tools-7.0.12-1.el9.x86_64 8/8
    已更新安装的产品。

    已安装:
    mongodb-database-tools-100.9.5-1.x86_64 mongodb-mongosh-2.2.12-1.el8.x86_64 mongodb-org-7.0.12-1.el9.x86_64 mongodb-org-database-7.0.12-1.el9.x86_64
    mongodb-org-database-tools-extra-7.0.12-1.el9.x86_64 mongodb-org-mongos-7.0.12-1.el9.x86_64 mongodb-org-server-7.0.12-1.el9.x86_64 mongodb-org-tools-7.0.12-1.el9.x86_64

    完毕!
    到这里使用yum安装mongodb就完成了

1.2 手动下载安装

不推荐,因为需要补充各种依赖包,手动下载MongoDB的RPM包并使用rpm或yum localinstall命令进行安装。这种方法需要您从MongoDB官网或其他可靠源下载适用于Red Hat 9.4的RPM包。
打开MongoDB的官方网站,并导航到MongoDB下载页面。通常,可以在首页的导航栏中找到“Download”或“Downloads”链接。

在下载页面上,根据操作系统版本(Red Hat Enterprise Linux 9.x 或兼容的发行版)和架构(x86_64)选择适合的MongoDB RPM包。注意,MongoDB提供了社区版和企业版,这里我们以社区版为例。
点击下载按钮开始下载RPM包。下载完成后,将在浏览器指定的下载位置找到该RPM包文件,文件名可能类似于mongodb-org-server-7.0.12-1.el9.x86_64.rpm

使用rpm命令安装

将包放到Linux系统目录中,我这里是放在了/home/ftp目录下,cd命令切换到/home/ftp目录下

1
cd /home/ftp

使用rmp命令安装MongoDB

1
sudo rpm -ivh mongodb-org-server-7.0.12-1.el9.x86_64.rpm

这里,-i表示安装,-v表示详细输出,-h表示显示安装进度。

注意:如果安装过程中提示缺少依赖项,可以按照上面yum安装过程中的输出继续下载依赖,进行安装,可能需要先安装这些依赖项,或者考虑使用yum localinstall命令来自动解决依赖问题。

使用yum localinstall命令安装

yum localinstall命令实际上是yum的一个别名,用于安装本地RPM包并自动解决依赖关系。

1
sudo yum localinstall mongodb-org-server-7.0.12-1.el9.x86_64.rpm

yum会检查RPM包的依赖项,并尝试从配置的仓库中下载并安装缺失的依赖项。

1.3使用Docker安装

如果系统已经安装了Docker,可以通过Docker来安装MongoDB。这种方式的好处是可以轻松地在容器中运行MongoDB,便于版本控制和隔离。(由于本文主要讲介绍MongoDB,所以这里就不详细介绍Docker的安装和配置了)

拉取MongoDB镜像

使用docker pull命令拉取MongoDB镜像:

1
docker pull mongo:latest

或者指定版本号拉取特定版本的MongoDB镜像。
会有输出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@sea-whales ~]# docker pull mongo:latest
latest: Pulling from library/mongo
7b1a6ab2e44d: Pull complete
90eb44ebc60b: Pull complete
5085b59f2efb: Pull complete
c7499923d022: Pull complete
019496b6c44a: Pull complete
c0df4f407f69: Pull complete
351daa315b6c: Pull complete
a233e6240acc: Pull complete
a3f57d6be64f: Pull complete
dd1b5b345323: Pull complete
Digest: sha256:5be752bc5f2ac4182252d0f15d74df080923aba39700905cb26d9f70f39e9702
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest

启动MongoDB

到这里我们基本就是已经安装好Mongodb了,如果只是内部使用就直接启动就好了,MongoDB已经给出了默认配置,只需要启动就可以使用,执行下面命令启动MongoDB并且查看状态,当然只有yum安装的和手动下载安装的才能使用,Docker安装的无法使用下面的命令进行查看,要依赖docker的命令进行查看;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@sea-whales ~]# systemctl start mongod
[root@sea-whales ~]# systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; preset: disabled)
Active: active (running) since Sat 2024-07-13 16:39:42 CST; 18h ago
Docs: https://docs.mongodb.org/manual
Main PID: 1102 (mongod)
Memory: 303.8M
CPU: 8min 51.519s
CGroup: /system.slice/mongod.service
└─1102 /usr/bin/mongod -f /etc/mongod.conf

7月 13 16:39:42 sea-whales systemd[1]: Started MongoDB Database Server.
7月 13 16:39:59 sea-whales mongod[1102]: {"t":{"$date":"2024-07-13T08:39:59.209Z"},"s":"I", "c":"CONTROL", "id":74845>

运行MongoDB容器

如果是使用docker安装的则使用docker run命令运行MongoDB容器,并指定必要的参数,如端口映射、数据卷等

1
docker run --name mongodb-container -d -p 27017:27017 mongo

这里-p 27017:27017表示将容器的27017端口映射到宿主机的27017端口。
使用docker ps命令查看正在运行的容器,确认MongoDB容器已启动。
使用MongoDB客户端连接到容器中的MongoDB实例。

配置MongoDB

MongoDB的配置文件通常位于/etc/mongod.conf,可以通过编辑该文件来配置MongoDB的行为。

通用配置

  • systemLog:

    • destination: 指定日志输出的目标,如filesyslog
    • path: 日志文件的路径(如果destinationfile)。
    • logAppend: 是否追加到日志文件,默认为true
  • storage:

    • dbPath: 数据文件的存储路径。
    • journal:
      • enabled: 是否启用journaling,用于数据恢复。
    • engine: 存储引擎类型,如wiredTiger
  • net:

    • port: MongoDB监听的端口号,默认为27017。
    • bindIp: MongoDB绑定的IP地址,默认为127.0.0.1(仅限本地访问)。
  • security:

    • authorization: 是否启用访问控制,enabled表示需要认证。
    • keyFile: 集群内部身份验证使用的密钥文件路径。
  • replication:

    • replSetName: 复制集的名称,用于设置复制集。
  • processManagement:

    • fork: 是否以守护进程方式运行MongoDB,对于生产环境推荐设置为true
    • pidFilePath: 进程ID文件的路径。
  • operationProfiling:

    • mode: 性能分析的模式,如slowOp(仅记录慢操作)。
    • slowOpThresholdMs: 慢操作的阈值(毫秒)。

示例

以下是我使用一个简化的/etc/mongod.conf配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# MongoDB配置文件

# 系统日志配置
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true

# 存储引擎配置
storage:
dbPath: "/var/lib/mongodb"
journal:
enabled: true
engine: wiredTiger

# 网络配置
net:
port: 27017
bindIp: 127.0.0.1

# 安全配置
security:
authorization: "enabled"

# 复制集配置(如果适用)
# replication:
# replSetName: "myReplSet"

# 进程管理配置
processManagement:
fork: true
pidFilePath: "/var/run/mongodb/mongod.pid"

# 性能分析配置(可选)
# operationProfiling:
# mode: slowOp
# slowOpThresholdMs: 100

注意,应该根据自己的需求和MongoDB的版本来调整这些配置。要查看所有可用的配置项及其当前值,可以直接查看/etc/mongod.conf文件,或者使用MongoDB的--config选项与mongod命令结合来指定一个配置文件,并通过--verbose选项获取更多输出信息。
但是,请注意,--verbose选项通常用于命令行启动MongoDB时增加日志输出的详细程度,而不是直接列出配置文件中的所有配置项。要列出所有配置项及其默认值,可能需要查阅MongoDB的官方文档。

配置好之后需要执行下面的命令使得配置生效

1
2
[root@sea-whales ~]# sudo systemctl daemon-reload
[root@sea-whales ~]# sudo systemctl restart mongod

如果修改后不执行daemon-reload就直接执行restart命令,可能有一个警告,提示你要你先执行daemon-reload,然后再执行restart命令。

1
2
[root@sea-whales ~]# sudo systemctl restart mongod
Warning: The unit file, source configuration file or drop-ins of mongod.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Docker安装后配置MongoDB

docker安装mongodb后,需要修改配置文件的话需要进行一些操作,一般有两种方法:

方法一:直接编辑容器内的配置文件

  1. 定位配置文件
    MongoDB的配置文件通常位于容器内的/etc/mongod.conf路径下。

  2. 复制配置文件到本地
    使用docker cp命令将容器中的配置文件复制到本地,以便进行修改。命令格式如下:

    1
    docker cp <容器ID或名称>:/etc/mongod.conf /path/to/local/mongod.conf

    这里<容器ID或名称>是MongoDB容器的ID或名称,/path/to/local/mongod.conf是本地文件系统的目标路径。

  3. 修改配置文件
    使用文本编辑器(如Vim、Nano、Sublime Text等)打开复制到本地的mongod.conf文件,并修改需要的配置项。常见的配置项包括端口号、数据存储路径、日志级别等。

  4. 将修改后的配置文件复制回容器
    使用docker cp命令将修改后的配置文件复制回容器中的原始位置。命令格式如下:

    1
    docker cp /path/to/local/mongod.conf <容器ID或名称>:/etc/mongod.conf
  5. 重启MongoDB容器
    使用docker restart命令重启MongoDB容器,使修改生效。命令格式如下:

    1
    docker restart <容器ID或名称>

方法二:使用Docker卷(Volume)映射配置文件

这种方法不需要进入容器内部,而是通过Docker卷将宿主机上的目录映射到容器内的配置文件目录。

  1. 在宿主机上创建配置文件
    在宿主机上创建一个目录,用于存放MongoDB的配置文件。例如,创建/path/to/mongodb/config目录,并将MongoDB的配置文件(如mongod.conf)放入该目录中。

  2. 启动MongoDB容器时使用卷映射
    在启动MongoDB容器时,使用-v--volume参数将宿主机上的配置文件目录映射到容器内的配置文件目录。例如:

    1
    docker run -d --name mongodb -p 27017:27017 -v /path/to/mongodb/config:/etc/mongod.conf mongo:latest

    注意:这里的映射路径可能需要根据实际情况进行调整,因为MongoDB的配置文件通常位于/etc/mongod.conf,但上述命令中的映射可能会覆盖整个/etc/mongod.conf文件而不是目录。实际上,你可能需要创建一个包含mongod.conf的目录,并将其映射到容器内的相应目录,如/etc/mongodb(这取决于MongoDB容器内部的目录结构)。正确的命令可能类似于:

    1
    docker run -d --name mongodb -p 27017:27017 -v /path/to/mongodb/config:/etc/mongodb mongo:latest

    并确保宿主机上的/path/to/mongodb/config目录中包含mongod.conf文件。

  3. 重启MongoDB容器(如果容器已经运行):
    如果MongoDB容器已经在运行,并且你想要应用新的配置文件,你需要先停止容器,删除旧的容器(可选,但推荐以避免配置冲突),然后使用新的配置文件重新创建并启动容器。

注意事项
  • 在修改配置文件之前,建议备份原始配置文件,以防万一需要恢复。
  • 确保修改后的配置文件语法正确,并且符合MongoDB的要求。
  • 如果使用Docker卷映射配置文件,请确保宿主机上的配置文件路径和容器内的映射路径正确无误。
  • MongoDB的配置项非常多,具体可配置的选项请参考MongoDB的官方文档。

访问MongoDB

访问基本以及使用这边就不多描述了,基本的操作就是通过mongo命令行工具来操作数据库了,具体操作可以参考官方文档。

2. MongoDB错误解决

错误1:MongoDB启动失败

错误原因:MongoDB启动失败,可能是端口被占用,也可能是MongoDB的配置文件错误。
解决方法:

  1. 检查端口是否被占用
    1
    lsof -i:27017
  2. 修改MongoDB的配置文件
    修改MongoDB的配置文件,将端口号改为其他端口号,例如:27018
  3. 重启MongoDB

错误2:

我遇到一个错误就是在修改MongoDB的配置文件的bindIp项目为0.0.0.0后,重启MongoDB的时候出现了如下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@sea-whales ~]# sudo systemctl status mongod
× mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; preset: disabled)
Active: failed (Result: exit-code) since Sun 2024-07-14 11:24:58 CST; 3s ago
Duration: 79ms
Docs: https://docs.mongodb.org/manual
Process: 59341 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
Main PID: 59341 (code=exited, status=14)
CPU: 65ms

7月 14 11:24:58 sea-whales systemd[1]: Started MongoDB Database Server.
7月 14 11:24:58 sea-whales systemd[1]: mongod.service: Main process exited, code=exited, status=14/n/a
7月 14 11:24:58 sea-whales systemd[1]: mongod.service: Failed with result 'exit-code'.

然后就算我修改回127.0.0.1后也是是报告一样的错误;
通过查询以下是AI给出的分析:

从您提供的日志信息来看,MongoDB 服务在启动时遇到了问题,并且以状态码 14 退出。状态码 14 通常不是一个标准的 MongoDB 退出码,但在某些情况下,它可能与系统级的问题或 MongoDB 试图执行某些不被允许的操作有关。这里有几个可能的解决步骤和检查点:

  1. 检查 MongoDB 配置文件
  • 确保 MongoDB 的配置文件(如 /etc/mongod.conf 或指定的配置文件路径)没有错误。
  • 检查配置文件中的路径设置(如 dbPathlogPath)是否正确,且 MongoDB 进程有权限访问这些路径。
  1. 查看 MongoDB 日志文件
  • MongoDB 的日志文件通常会提供更多关于为什么服务无法启动的详细信息。检查 /var/log/mongodb/mongod.log 或您配置文件中指定的日志路径。
  1. 检查系统资源
  • 确保系统有足够的磁盘空间、内存和 CPU 资源来运行 MongoDB。
  • 检查是否有其他服务或进程占用了 MongoDB 所需的端口(默认是 27017)。
  1. 检查 SELinux 或 AppArmor 设置
  • 如果您的系统启用了 SELinux 或 AppArmor,它们可能会阻止 MongoDB 正常启动。检查相关的安全策略或暂时禁用它们以测试是否是安全设置导致的问题。
  1. 检查 MongoDB 权限
  • 确保 MongoDB 的可执行文件(如 /usr/bin/mongod)和数据库文件目录的权限设置正确。
  • MongoDB 通常需要 root 权限来绑定到低端口(如 27017),但建议通过 systemd 或其他服务管理工具以非 root 用户身份运行。
  1. 检查 systemd 单元文件
  • 查看 /usr/lib/systemd/system/mongod.service 文件中的 ExecStart 行,确保 $OPTIONS 变量正确设置,并且没有语法错误。
  • 尝试手动运行 MongoDB 服务命令(如 /usr/bin/mongod --config /etc/mongod.conf)来检查是否可以直接从命令行启动。
  1. 重新启动 MongoDB 服务
  • 在进行任何更改后,尝试重新启动 MongoDB 服务:sudo systemctl restart mongod.service
  1. 查看系统日志
  • 检查 /var/log/syslog 或其他系统日志文件,看是否有与 MongoDB 相关的更详细的错误消息。
    如果上述步骤都不能解决问题,您可能需要考虑重新安装 MongoDB 或寻求更具体的帮助,例如在 MongoDB 社区论坛或支持渠道中询问。

于是我尝试使用/usr/bin/mongod -f /etc/mongod.conf启动,然后在另一个终端执行tail -f /var/log/mongodb/mongod.log命令进行日志的实时查看,也没发现任何报错信息。

通过各种尝试,最后居然是因为MongoDB数据目录的权限和所有权正确,只需要执行下面两句命令后,在进行重启就可以正常启动了;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@sea-whales ~]# sudo chown -R mongod:mongod /var/lib/mongo
[root@sea-whales ~]# sudo chmod -R 755 /var/lib/mongo
[root@sea-whales ~]# systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; preset: disabled)
Active: active (running) since Sun 2024-07-14 13:02:36 CST; 4s ago
Docs: https://docs.mongodb.org/manual
Main PID: 61154 (mongod)
Memory: 176.5M
CPU: 1.582s
CGroup: /system.slice/mongod.service
└─61154 /usr/bin/mongod -f /etc/mongod.conf

7月 14 13:02:36 sea-whales systemd[1]: Started MongoDB Database Server.

这个问题是我没想到的,因为在前面安装之后MongoDB是可以正常启动的,但是后来我修改了MongoDB的配置文件,然后重启了MongoDB,就出现了这个错误,都没想到会是因为权限的问题。

分析

经过一些回想,我想到了原来在安装的时候MongoDB我是使用root进行安装的,所以权限是默认的,但是后来
我在做服务的时候默认将mongod服务以mongod用户和组的权限运行,就是下面配置文件中 [Service] 中的UserGroup配置项,导致权限问题,所以导致无法启动服务;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[root@sea-whales ~]# cat /usr/lib/systemd/system/mongod.service
[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network-online.target
Wants=network-online.target

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=-f /etc/mongod.conf"
# Environment="MONGODB_CONFIG_OVERRIDE_NOFORK=1"
EnvironmentFile=-/etc/sysconfig/mongod
ExecStart=/usr/bin/mongod -f $OPTIONS
# $OPTIONS
RuntimeDirectory=mongodb
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for mongod as specified in
# https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings

[Install]
WantedBy=multi-user.target
[root@sea-whales ~]#